FBPACK page# 0001 next
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
FBPACK page# 0002 next prev
27: IFN FTDISK,<BEGIN FBPACK↔SUBTTL LIBRASCOPE SWAPPER AND FAST-BAND SERVICE
28:
29:
30:
31:
32: ↑FBLOGP: POINT 6,(AC3),23
33: FBLUZP: POINT 4,(AC3),27
34: FBPROT: POINT 2,(AC3),29
35: ↑FBJOBP: POINT 6,(AC3),35
36:
37: RDEN←←1
38: WREN←←2
39:
40: DSKCHL←←CAT(CH,\DSKCHN)
FBPACK page# 0003 next prev
42: ↑FBINI: SETZM FBQUE
43: SETZM FBTASK
44: SETZM FBSBUSY
45: SETOM FBBUSY
46: SETZM FBACT
47: MOVEI AC1,LJOBN-1
48: MOVEM AC1,JOBNM1
49: CONSZ DSK,1B27
50: POPJ P,
51: SETOM FBACT
52: MOVNI AC1,14
53: MOVEM AC1,JOBNM1
54: MOVE AC3,[XWD -NBANDS,FBBAND]
55: FBIN4: SKIPGE (AC3)
56: JRST FBIN5
57: LDB AC2,FBLUZP
58: LDB AC1,FBLOGP
59: CAIGE AC1,MAXFB
60: SETZM (AC3)
61: DPB AC2,FBLUZP
62: AOS JOBNM1
63: FBIN5: AOBJN AC3,FBIN4
64:
65: MOVE AC3,SYSBAND
66: LSH AC3,-=12
67: SETOM FBBAND(AC3)
68: SOS JOBNM1
69: MOVEM AC3,SYSBND
70:
71: IFN FTDDT,<IFN FTDSWP,<
72: SKIPN DDTSWP
73: JRST FBIN6
74: MOVE AC3,DDTBAND
75: LSH AC3,=-12
76: SETOM FBBAND(AC3)
77: SOS JOBNM1
78: >>
79:
80: FBIN6: MOVE AC1,JOBNM1
81: CAILE AC1,JOBN-1
82: MOVEI AC1,JOBN-1
83: MOVEM AC1,JOBNM1
84: POPJ P,
FBPACK page# 0004 next prev
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99: ↑UFBRD: PUSHJ P,UFBSET
100: XCTR XR,[SKIPL (UUO)]
101: JRST NORRD
102: MOVSI DAT,UFBD
103: HRRI DAT,(J)
104: PUSHJ P,FBRD
105: POPJ P,
106: CONO PI,DSKON
107: MOVEI AC1,FBINP
108: IORM AC1,JBTSTS(J)
109: JRST CPOPJ1
110:
111: NORRD: SETZ DAT,
112: PUSHJ P,FBRD
113: POPJ P,
114: JRST FBWAIT
115:
116: ↑UFBWRT:PUSHJ P,UFBSET
117: XCTR XR,[SKIPL (UUO)]
118: JRST NORWR
119: MOVSI DAT,UFBD
120: HRRI DAT,(J)
121: PUSHJ P,FBWRT
122: POPJ P,
123: CONO PI,DSKON
124: MOVEI AC1,FBINP
125: IORM AC1,JBTSTS(J)
126: JRST CPOPJ1
127:
128: NORWR: SETZ DAT,
129: PUSHJ P,FBWRT
130: POPJ P,
131: FBWAIT: MOVNI DSER,IOWQ
132: MOVEM DSER,JOBQUE(J)
133: CONO PI,DSKON
134: PUSHJ P,WSCHED
135: SKIPLE FBRETRY(AC1)
136: AOS (P)
137: CAIE AC1,FBSPARE
138: JRST FSGIVE
139: SETZM FBSBUSY
140: POPJ P,
FBPACK page# 0005 next prev
142:
143:
144: UFBSET: MOVEI TAC1,FBINP
145: TDNE TAC1,JBTSTS(J)
146: PUSHJ P,FBCW
147: MOVEI TAC1,FBERP
148: ANDCAM TAC1,JBTSTS(J)
149: XCTR XR,[HRRZ UCHN,(UCHN)]
150: PUSHJ P,FBBGET
151: XCTR XR,[HRRZ TAC1,(UUO)]
152: PUSHJ P,RELOCA
153: JRST UFBSE2
154: JUMPL TAC1,UFBSE2
155: MOVE TAC,TAC1
156: XCTR XR,[MOVM AC2,1(UUO)]
157: JUMPE AC2,UFBSE2
158: XCTR XR,[MOVE TAC1,(UUO)]
159: ADDI TAC1,-1(AC2)
160: PUSHJ P,RELOCB
161:
162: JRST UFBSE2
163: XCTR XR,[SKIPL TAC1,2(UUO)]
164: CAILE TAC1,2*=1216-1
165: JRST UFBSE1
166: POPJ P,
167:
168:
169:
170:
171: FBBGET: TRNE UCHN,400000
172: CAIL UCHN,400000+NBANDS
173: CAIGE UCHN,MAXFB
174: POPJ P,
175: JSP TAC,UUOMES
176: ASCIZ /LOGICAL OR PHYSICAL BAND NUMBER OUT OF BOUNDS. UUO/
177:
178: UFBSE1: JSP TAC,UUOMES
179: ASCIZ /DISK ADDRESS OUT OF BOUNDS, UUO/
180:
181: UFBSE2: JSP TAC,UUOMES
182: ASCIZ /ADDRESS CHECK FOR FAST-BAND CALL, UUO/
FBPACK page# 0006 next prev
184:
185:
186:
187: FBCW: MOVNI AC1,IOWQ
188: MOVEM AC1,JOBQUE(J)
189: MOVEI AC1,FBJWT
190: IORM AC1,JBTSTS(J)
191: JRST WSCHED
192:
193:
194: UFBD: MOVEI AC1,FBINP!FBJWT
195: SETZ AC2,
196: TRZE DAT,400000
197: MOVEI AC2,FBERP
198: MOVEI J,(DAT)
199: SOS JBTGLU(J)
200: IFN FTSTAT,<PUSHJ P,GLUSTT>
201: IORB AC2,JBTSTS(J)
202: ANDCAM AC1,JBTSTS(J)
203: MOVM AC1,JOBQUE(J)
204: CAIN AC1,IOWQ
205: TRNN AC2,FBJWT
206: POPJ P,
207: MOVNI AC1,RUNQ
208: MOVEM AC1,JOBQUE(J)
209: JRST REQUE
FBPACK page# 0007 next prev
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221: ↑UFBGET:
222: PUSH P,TAC
223: TLNN TAC,403777
224: JRST UFBGE1
225: LDB AC1,[POINT 11,TAC,17]
226: CAIL AC1,=1216
227: JRST OFFTL
228: UFBGE1: HRRZ UCHN,(P)
229: PUSHJ P,FBBGET
230: TRNE UCHN,400000
231: JRST UFBGE2
232: PUSHJ P,FBGET
233: JRST TPOPJ
234: UFBGE3: POP P,AC1
235: TLNE AC1,403777
236: HLLM AC1,(AC3)
237: LDB AC2,[POINT 2,AC1,2]
238: DPB AC2,FBPROT
239: LDB UCHN,PUUOAC
240: AOS (P)
241: HLL TAC,(AC3)
242: DPB AC2,[POINT 2,TAC,2]
243: HRRI TAC,400000-FBBAND(AC3)
244: JRST STOTAC
245:
246: UFBGE2: HRRZI AC3,FBBAND-400000(UCHN)
247: LDB AC1,FBJOBP
248: JUMPE AC1,UFBGE4
249: CAIN J,(AC1)
250: JRST UFBGE3
251: JRST TPOPJ
252:
253: UFBGE4: DPB J,FBJOBP
254: JRST UFBGE3
255:
256: OFFTL: JSP TAC,UUOMES
257: ASCIZ /OFFSET TOO LARGE, UUO/
258:
259:
260: ↑UFBGIV:HRRZ UCHN,TAC
261: JRST FBGIVE
FBPACK page# 0008 next prev
263:
264:
265:
266:
267:
268:
269:
270:
271:
272: ↑FBPHY: SKIPN FBACT
273: JRST UUOERR
274: TRNE TAC,400000
275: JRST SPHYB
276: MOVEI UCHN,(TAC)
277: PUSHJ P,FBSEARCH
278: JRST RTZERO
279: FBPHY1: LDB AC1,FBLOGP
280: CAIE AC1,(UCHN)
281: JRST RSH
282: HLL TAC,(AC3)
283: HRRI TAC,400000-FBBAND(AC3)
284: FBPHY2: TLO TAC,300000
285: JRST STOTAC
286:
287: RSH: PUSHJ P,FBRESEARCH
288: JRST RTZERO
289: JRST FBPHY1
290:
291: SPHYB: MOVEI AC3,FBBAND-400000(TAC)
292: HLL TAC,(AC3)
293: LDB AC1,FBJOBP
294: CAIN AC1,(J)
295: JRST FBPHY2
296: LDB AC1,FBPROT
297: DPB AC1,[POINT 2,TAC,2]
298: JRST STOTAC
299:
300: RTZERO: LDB UCHN,PUUOAC
301: XCTR XW,[SETZM (UUO)]
302: POPJ P,
FBPACK page# 0009 next prev
304:
305:
306:
307:
308:
309:
310: ↑FBSKP: MOVEI AC1,FBINP
311: TDNN AC1,JBTSTS(J)
312: AOS (P)
313: POPJ P,
314:
315:
316:
317:
318:
319: ↑FBWT: PUSHJ P,FBSKP
320: JRST FBCW
321: POPJ P,
322:
323:
324:
325:
326:
327:
328: ↑FBERR: MOVEI AC1,FBERP
329: TDNN AC1,JBTSTS(J)
330: AOS (P)
331: POPJ P,
FBPACK page# 0010 next prev
333:
334:
335:
336:
337:
338:
339:
340:
341: ↑FBGET: SKIPN FBACT
342: POPJ P,
343: PUSHJ P,FBGIVE
344: MOVE AC3,[XWD -NBANDS,FBBAND]
345: FBGET1: SKIPN (AC3)
346: JRST FBGET3
347: AOBJN AC3,FBGET1
348: MOVE AC3,[XWD -NBANDS,FBBAND]
349: FBGET2: MOVEI TAC,77
350: AND TAC,(AC3)
351: JUMPE TAC,FBGET3
352: AOBJN AC3,FBGET2
353: POPJ P,
354:
355: FBGET3: DPB J,FBJOBP
356: TRNN UCHN,400000
357: DPB UCHN,FBLOGP
358: MOVEI TAC,400000-FBBAND(AC3)
359: AOS (P)
360: POPJ P,
361:
362: FBSEARCH:
363: MOVE AC3,[XWD -NBANDS,FBBAND]
364: FBSEA1: SKIPLE AC1,(AC3)
365: JRST FBSEA2
366: FBRESEARCH:
367: AOBJN AC3,FBSEA1
368: POPJ P,
369:
370: FBSEA2: ANDI AC1,77
371: CAIN AC1,(J)
372: JRST CPOPJ1
373: JRST FBRESEARCH
FBPACK page# 0011 next prev
375:
376:
377:
378:
379:
380:
381: ↑FBGIVE:SKIPE FBACT
382: PUSHJ P,FBSEARCH
383: POPJ P,
384: FBGIV1: TRNE UCHN,400000
385: JRST FBGIV3
386: LDB AC1,FBLOGP
387: CAME AC1,UCHN
388: JRST FBGIV2
389: FBGIV4: LDB AC1,FBLUZP
390: SETZM (AC3)
391: DPB AC1,FBLUZP
392: POPJ P,
393:
394: FBGIV3: CAIN UCHN,400000-FBBAND(AC3)
395: JRST FBGIV4
396: FBGIV2: PUSHJ P,FBRESEARCH
397: POPJ P,
398: JRST FBGIV1
399:
400:
401:
402:
403:
404:
405: ↑FBFLUSH:
406: HRRZS JBTSWP(J)
407: HRRZS JB2SWP(J)
408: SKIPN FBACT
409: POPJ P,
410: PUSHJ P,FBSEARCH
411: POPJ P,
412: PUSH P,TAC
413: FBFLU1: LDB TAC,FBLUZP
414: SETZM (AC3)
415: DPB TAC,FBLUZP
416: PUSHJ P,FBRESEARCH
417: JRST TPOPJ
418: JRST FBFLU1
FBPACK page# 0012 next prev
420:
421:
422:
423:
424:
425:
426:
427:
428:
429:
430:
431:
432:
433:
434:
435: ↑FBWRITE:
436: PUSHJ P,FBWRT
437: POPJ P,
438: CONO PI,DSKON
439: JRST CPOPJ1
440:
441: FBWRT: MOVEI IOS,WREN
442: PUSHJ P,FBSET
443: MOVN AC3,AC3
444: PUSHJ P,FBCOM
445: JRST CPOPJ1
446:
447:
448:
449:
450: ↑FBREAD:
451: PUSHJ P,FBRD
452: POPJ P,
453: CONO PI,DSKON
454: JRST CPOPJ1
455:
456: FBRD: MOVEI IOS,RDEN
457: PUSHJ P,FBSET
458: PUSHJ P,FBCOM
459: JRST CPOPJ1
FBPACK page# 0013 next prev
461:
462:
463:
464:
465:
466: FBSET: SKIPN FBACT
467: JRST TPOPJ
468: TRNE UCHN,400000
469: JRST FBSET3
470: PUSHJ P,FBSEARCH
471: JRST TPOPJ
472: FBSET1: LDB AC1,FBLOGP
473: CAIN AC1,(UCHN)
474: JRST FBSET4
475: PUSHJ P,FBRESEARCH
476: JRST TPOPJ
477: JRST FBSET1
478:
479: FBSET3: MOVEI AC3,FBBAND-400000(UCHN)
480: LDB AC1,FBJOBP
481: ANDI UCHN,177
482: MOVE TEM,JBTPRV(J)
483: TLNN TEM,FBWPRV
484: CAIN AC1,(J)
485: JRST FBSET4
486: CAMN UCHN,SYSBND
487: JRST FBSYSB
488: LDB AC1,FBPROT
489: SKIPL (AC3)
490: TDNN AC1,IOS
491: JRST TPOPJ
492: FBSET4: MOVEI AC3,-FBBAND(AC3)
493: HRRZ TAC1,TAC1
494: CAMN AC3,SYSBND
495: CAIE IOS,WREN
496: POPJ P,
497:
498: POPJ P,
499:
500:
501: FBSYSB: CAIE IOS,WREN
502: JRST FBSET4
503: JRST TPOPJ
504:
505: ↑FBTVIN:
506: SETOM TAC1
507: PUSHJ P,FBCOM
508: CONO PI,DSKON
509: POPJ P,
FBPACK page# 0014 next prev
511:
512:
513: FBCOM: PUSH P,AC3
514: MOVEI AC3,FBSIZ
515: PUSHJ P,FSGET
516: JRST FBCOM5
517: FBCOM3: MOVEM TAC,FBADR(AC1)
518:
519: MOVEM AC2,FBWC(AC1)
520: MOVEM TAC1,FBDA(AC1)
521:
522:
523: MOVEM J,FBJOB(AC1)
524: MOVEI DSER,=10
525: MOVEM DSER,FBRETRY(AC1)
526: POP P,FBBND(AC1)
527: MOVEM DAT,FBDONE(AC1)
528: CONSZ PI,1⊗(17-CLKCHN)
529: JRST FBCOM2
530: JUMPL TAC1,FBCOM2
531: AOS JBTGLU(J)
532: IFN FTSTAT,<PUSHJ P,GLUSTT>
533: MOVNI DSER,IOWQ
534: SKIPN FBDONE(AC1)
535: MOVEM DSER,JOBQUE(J)
536: FBCOM2: MOVEI TEM,DSKSTART
537: CONO PI,DSKOFF
538: HLRZ DSER,FBQUE
539: SKIPE DSER
540:
541: MOVEM AC1,FBLINK(DSER)
542: HRLM AC1,FBQUE
543: SKIPN DSER
544: HRRM AC1,FBQUE
545: SETZM FBLINK(AC1)
546: SKIPL FBBUSY
547: POPJ P,
548: MOVEM TEM,FBBUSY
549: MOVEI TEM,IOPANY!IOPJDN
550: HRRM TEM,DIPCON
551: CONO IOP,IOPJDN!DSKCHN
552: POPJ P,
553:
554: FBCOM5: SKIPE FBSBUSY
555: HALT FBCOM4
556: FBCOM4: SETOM FBSBUSY
557: MOVEI AC1,FBSPARE
558: JRST FBCOM3
FBPACK page# 0015 next prev
560:
561:
562: ↑IFBINT:
563: BEGIN IFBINT
564: JSR DSKSAV
565: IFBIN1: SKIPGE AC1,FBBUSY
566:
567: JRST UNIOP
568: SETOM FBBUSY
569:
570: JRST (AC1)
571:
572: UNIOP: PUSHACS
573: PUSHJ P,DISDATE
574: PUSHJ P,DISMES
575: ASCIZ /ππUNEXPECTED IOP INTERRUPT
576: /
577: POPACS
578: IOPIN1: CONO IOP,DSKCHN
579: SETZM FBTASK
580: POPJ P,
581:
582: ↑↑DFBINT:
583: CONO DSK,0
584: ROT 44
585: JSR DSKSAV
586: CONO IOP,DSKCHN
587: EXCH AC1,FBBUSY
588: CAME AC1,[-1]
589: JRST DFBGO
590: DFBFLS: EXCH AC1,FBBUSY
591: CONO DSK,1B23!1B24!DSKCHN
592: POPJ P,
593:
594: DFBGO: EXCH AC1,FBBUSY
595: CONSO DSK,1B27
596: JRST IFBIN1
597: PUSHACS
598: PUSHJ P,DISDATE
599: PUSHJ P,DISMES
600: ASCIZ /ππUNEXPECTED LIBRASCOPE INTERRUPT
601: /
602: POPACS
603: JRST DSKSTART
FBPACK page# 0016 next prev
605:
606:
607: ↑DSKSTART:
608: HRRZ AC1,FBQUE
609: JUMPE AC1,IOPIN1
610: MOVE DSER,FBLINK(AC1)
611: HRRM DSER,FBQUE
612: SKIPN DSER
613: SETZM FBQUE
614: MOVEM AC1,FBTASK
615: MOVE TAC1,FBDA(AC1)
616: AOJN TAC1,DSKGOA
617: HLLZS DIPCON
618: SETZM FBBUSY
619: JRST TVRED
620:
621: DSKGOA: AOS NLREQS
622: DSKGO: SETZ TAC1,
623: AOS NLRERS
624: MOVM TEM,FBBND(AC1)
625:
626: DPB TEM,[POINT 8,TAC1,23]
627: SETZ DSER,
628: CAMN TEM,SYSBND
629: JRST DSKST2
630: HLRZ DSER,FBBAND(TEM)
631: JUMPN DSER,DSKST2
632: DSKST3: DATAI DSK,DSER
633: TRNE DSER,4000
634: JRST DSKST3
635: ADDI DSER,10
636: HRLM DSER,FBBAND(TEM)
637: DSKST2: ANDI DSER,3777
638: ADD DSER,FBDA(AC1)
639: CAIGE DSER,=1216
640: JRST DSKST1
641: CAIGE DSER,=2432
642: JRST DSKST4
643: SUBI DSER,=2432
644: JRST DSKST1
645:
646: DSKST4: TRO TAC1,1B24
647: SUBI DSER,=1216
648: DSKST1: IOR TAC1,DSER
649: MOVN AC2,FBWC(AC1)
650: MOVS AC2,AC2
651: HRR AC2,FBADR(AC1)
652: SETZM DSER
653: SKIPGE FBBND(AC1)
654: MOVEI DSER,100
655: CONO DSK,1B23!1B24!DSKCHN
656: CONO IOP,DSKCHN(DSER)
657: DATAO IOP,AC2
658: MOVEM AC2,LASTWC
659: MOVEM AC2,30
660: JFCL
661: MOVEM TAC1,LASTADR
662: DATAO DSK,TAC1
663: MOVEI AC1,FINOP
664: MOVEM AC1,FBBUSY
665: POPJ P,
FBPACK page# 0017 next prev
667:
668:
669: FINOP:
670: MOVE AC1,FBTASK
671: CONSZ DSK,3770
672: JRST DSKERR
673: CONSZ IOP,IOPANY
674: JRST IOPERR
675: FINOP1: SKIPG DSER,FBRETRY(AC1)
676: AOS NLERRS
677: JUMPLE DSER,FINCNT
678: CAIGE DSER,=10
679: AOS NSAERR
680: FINCNT: SKIPN DSER,FBDONE(AC1)
681: JRST FINOP2
682:
683:
684:
685: SKIPG FBRETRY(AC1)
686: TRO DSER,400000
687: CONO PI,PIOFF
688: IDPB DSER,CLKQ
689: CONO PI,PION
690: FINOP3: CAIE AC1,FBSPARE
691: JRST FINOP5
692: SETZM FBSBUSY
693: JRST DSKSTART
694: FINOP5: PUSHJ P,FSGIVE
695: JRST DSKSTART
696:
697:
698:
699: FINOP2: MOVE J,FBJOB(AC1)
700: SOS JBTGLU(J)
701: IFN FTSTAT,<PUSHJ P,GLUSTT>
702: MOVM AC1,JOBQUE(J)
703: CAIE AC1,IOWQ
704: JRST DSKSTART
705: MOVEI AC1,RUNQ
706: MOVNM AC1,JOBQUE(J)
707: PUSHJ P,REQUE
708: JRST DSKSTART
709:
710:
FBPACK page# 0018 next prev
712:
713:
714:
715: ↑↑FBDFINT:
716: MOVEI AC1,IOPANY!IOPJDN
717: HRRM AC1,DIPCON
718: MOVE AC1,FBTASK
719: SETOM FBBUSY
720: JRST FINOP3
FBPACK page# 0019 next prev
722:
723:
724: DSKERR: SKIPE AC1,FBTASK
725: JRST DSKERA
726: PUSHACS
727: PUSHJ P,DISDATE
728: PUSHJ P,DISMES
729: ASCIZ /πππLIBRASCOPE ERROR WHILE IT WAS IDLE
730:
731: /
732: POPACS
733: JRST DSKSTART
734:
735: DSKERA: SOSLE FBRETRY(AC1)
736: JRST DSKGO
737: PUSHACS
738: MOVM AC3,FBBND(AC1)
739: ADDI AC3,FBBAND
740: LDB AC1,FBLUZP
741: ADDI AC1,1
742: SETZM (AC3)
743: DPB AC1,FBLUZP
744: CAILE AC1,7
745: SETOM (AC3)
746: PUSHJ P,DISERR
747: [ASCIZ /ππLIBRASCOPE ERROR.
748: LASTADR = /]
749: DISARG(OCT,LASTADR)
750: [ASCIZ/ LASTWC = /]
751: DISARG(OCT,LASTWC)
752: [ASCIZ/ WCMA = /]
753: -1
754: DATAI IOP,TAC
755: PUSHJ P,DISOCT
756: PUSHJ P,DISMES
757: ASCIZ /
758: DISK BITS = /
759: CONI DSK,TAC
760: PUSHJ P,DISLOC
761: PUSHJ P,DISMES
762: ASCIZ / IOP BITS = /
763: CONI IOP,TAC
764: PUSHJ P,DISLOC
765: PUSHJ P,DISCRLF
766: PUSHJ P,DISCRLF
767: CONSO DSK,1B31
768: JRST DSKERB
769: PUSHJ P,DISMES
770: ASCIZ /WRITE ERRORS. CALL PANOFSKY RIGHT NOW! DO NOT RELOAD!
771: /
772: SETOM DISFLAG
773: PUSHJ P,DISFLUSH
774: SKIPN INDDT
775: HALT DSKERB
776: PUSHJ P,DDTCALL
777: DSKERB: POPACS
778: JRST FINOP1
FBPACK page# 0020 next prev
780:
781:
782: IOPERR: SKIPE AC1,FBTASK
783: JRST IOPERA
784: PUSHACS
785: PUSHJ P,DISDATE
786: PUSHJ P,DISMES
787: ASCIZ /ππIOP ERROR WHILE DISK WAS IDLE
788:
789: /
790: POPACS
791: JRST DSKSTART
792:
793: IOPERA: CONI IOP,TAC
794: DATAI IOP,IOPWCM
795: MOVE DSER,IOPWCM
796: SUB DSER,FBADR(AC1)
797: MOVEI DSER,-1(DSER)
798: TRNE DSER,36
799: SOJ DSER,
800: ADD DSER,FBADR(AC1)
801: CONO DSK,0
802: CONSO IOP,IOPMIS
803: CONSO IOP,IOPPAR
804: JRST PARIOP
805: MOVE TEM,-1(DSER)
806: MOVE TEM,1(DSER)
807: MOVE TEM,(DSER)
808: CONO IOP,0
809: DATAO IOP,[IOPWRD]
810: CONO IOP,2200
811: PUSHACS
812: PUSHJ P,DISDAT
813: PUSHJ P,DISERR
814: [ASCIZ /IOP PARITY ERROR, LOC /]
815: DISARG LOC,<DSER-20(P)>
816: [ASCIZ / BR=/]
817: DISARG OCT,IOPWRD
818: [ASCIZ /, C(LOC)=/]
819: DISARG OCT,<TEM-20(P)>
820: [ASCIZ /
821: LASTWC=/]
822: DISARG OCT,LASTWC
823: [ASCIZ / IOP CONI = /]
824: DISARG LOC,<TAC-20(P)>
825: [ASCIZ / FBRETRY = /]
826: -1
827: MOVE TAC,AC1-17(P)
828: MOVE TAC,FBRETRY(TAC)
829: PUSHJ P,DISDCP
830: PUSHJ P,DISMES
831: BYTE(7)15,12,12
832: POPACS
833: PARIOP: TRNE TAC,100
834: JRST NFBINP
835: SETZM (DSER)
836: HRRZ TEM,LASTWC
837: CAILE TEM,-1(DSER)
838: SETZM -1(DSER)
839: CAILE TEM,-2(DSER)
840: SETZM -2(DSER)
841: NFBINP: TRNE TAC,IOPRLY
842: SKIPN IEARLY
843: JRST RLYIOP
844: PUSHACS
845: PUSHJ P,DISMES
846: ASCIZ /IOP EARLY RESPONSE /
847: PUSHJ P,DISDATE
848: PUSHJ P,DISERR
849: [ASCIZ /CONI = /]
850: DISARG LOC,<TAC-20(P)>
851: [ASCIZ /; LASTWC = /]
852: DISARG OCT,LASTWC
853: [ASCIZ /; WCMA = /]
854: DISARG OCT,IOPWCM
855: [ASCIZ /
856:
857: /]
858: -1
859: POPACS
860: RLYIOP: SOSLE FBRETRY(AC1)
861: JRST DSKGO
862: MOVEI DSER,=10
863: MOVEM DSER,FBRETRY(AC1)
864: PUSHACS
865: PUSHJ P,DISDATE
866: PUSHJ P,DISERR
867: [ASCIZ /IOP ERROR; CONI = /]
868: DISARG LOC,<TAC-20(P)>
869: [ASCIZ /; LASTWC = /]
870: DISARG OCT,LASTWC
871: [ASCIZ /; WCMA = /]
872: DISARG OCT,IOPWCM
873: [ASCIZ /
874:
875: /]
876: -1
877: POPACS
878: JRST DSKGOA
879:
880: BEND IFBINT
881: BEND FBPACK
882: >
EOF: FBPACK end-of-file. cnt=19